Ext.namespace('Ext.paymentDelete');
Ext.paymentDelete.payItem = [['10001', '薪资模板1'], ['10002', '薪资模板2']];
Ext.onReady(function() {
	var payInPutStore = new Ext.data.Store({
				proxy : new Ext.data.HttpProxy({
							url : 'PayInPutOp!queryPayInput.action'
						}),
				reader : new Ext.data.JsonReader({
							root : 'plist.result',
							totalProperty : 'plist.totalCount'
						}, [{
									name : 'pay_input_id',
									mapping : 'pay_input_id'
								}, {
									name : 'period',
									mapping : 'period'
								}, {
									name : 'pay_classitem_id',
									mapping : 'pay_classitem_id'
								}, {
									name : 'pciname',
									mapping : 'pciname'
								}, {
									name : 'pcname',
									mapping : 'pcname'
								}, {
									name : 'employeeName',
									mapping : 'employeeName'
								}, {
									name : 'pay_money',
									mapping : 'pay_money'
								}, {
									name : 'employee_id',
									mapping : 'employee_id'
								}, {
									name : 'emp_cs_code',
									mapping : 'emp_cs_code'
								}])
			});
	payInPutStore.load();

	var payClassStore = new Ext.data.Store({
				proxy : new Ext.data.HttpProxy({
							url : 'ExeclCustomize!findExClassIdByCompanyCode.action'
						}),
				reader : new Ext.data.JsonReader({
							root : 'payClassIds.result',
							id : 'id'
						}, [{
									name : 'payClassName',
									mapping : 'payClassName'
								}, {
									name : 'payClassId',
									mapping : 'payClassId'
								}, {
									name : 'companyCode',
									mapping : 'companyCode'
								}])
			});
	var payClassStoreRecord = Ext.util.JSON
			.decode("{'payClassIds':{'result':[{companyCode:6759087,payClassId:'-1','payClassName':'全部'}],'totalCount':'1'}}");

	payClassStore.load();
	var PersonRecord = Ext.data.Record.create([{
				name : 'payClassId',
				type : 'int'
			}, {
				name : 'payClassName',
				type : 'string'
			}, {
				name : 'companyCode',
				type : 'string'
			}]);

	payClassStore.add([new PersonRecord({
				payClassId : '111',
				payClassName : '全部',
				companyCode : 'ddd'
			})]);
	// payClassStore.loadData(payClassStoreRecord,true);

	var payClassItemsIdStore = new Ext.data.Store({
		proxy : new Ext.data.HttpProxy({
					url : 'ExeclCustomize!queryPayClassItemsByPayClassId.action'
				}),
		reader : new Ext.data.JsonReader({
					root : 'payClassItems.result',
					id : 'payClassItemsid'
				}, [{
							name : 'name',
							mapping : 'name'
						}, {
							name : 'payClassId',
							mapping : 'payClassId'
						}, {
							name : 'companyCode',
							mapping : 'companyCode'
						}, {
							name : 'payClassItemId',
							mapping : 'payClassItemId'
						}])
	});

	// 薪资模板的下拉框
	var payItemCombox = new Ext.form.ComboBox({
				fieldLabel : '薪资模板',
				hiddenName : 'state',
				store : payClassStore,
				displayField : 'payClassName',
				valueField : 'payClassId',
				typeAhead : true,
				mode : 'local',
				triggerAction : 'all',
				emptyText : '请选择...',
				selectOnFocus : true,
				anchor : '90%',
				width : 150
			});

	var payClassItemCombox = new Ext.form.ComboBox({
				store : payClassItemsIdStore,
				valueField : "payClassItemId",
				displayField : "name",
				fieldLabel : '薪资项目',
				name : 'payclassItem_name',
				id : 'payclassItem_name',
				disabled : true,
				triggerAction : 'all',
				editable : false,
				anchor : '90%'
			});

	payItemCombox.on('select', function() {
				payClassItemsIdStore.removeAll();
				payClassItemsIdStore.baseParams = {
					payClassId : payItemCombox.getValue()
				};
				payClassItemCombox.setValue('');
				Ext.getCmp('payclassItem_name').setDisabled(false);
				payClassItemsIdStore.load();
			});

	var paymentDeletePanel = new Ext.form.FormPanel({
				anchor : '90%',
				frame : true,
				hideLables : false,
				id : 'paymentDeletePanel',
				buttonAlign : 'right',
				bodyStyle : 'padding:5px 5px 0',
				items : [{
							layout : 'column',
							items : [{
										columnWidth : .5,
										layout : 'form',
										items : [{
													xtype : 'textfield',
													fieldLabel : '雇员编号',
													name : 'emp_cs_code',
													id : 'emp_cs_code',
													anchor : '90%'
												}, payItemCombox, {
													xtype : 'textfield',
													fieldLabel : '期间',
													name : 'period',
													id : 'period',
													anchor : '90%'
												}]
									}, {
										columnWidth : .5,
										layout : 'form',
										items : [{
													xtype : 'textfield',
													fieldLabel : '雇员姓名',
													name : 'employeeName',
													id : 'employeeName',
													anchor : '90%'
												}, payClassItemCombox]

									}]

						}],
				buttons : [{
					text : '查询',
					listeners : {
						"click" : function() {
							payInPutStore.baseParams = {
								emp_cs_code : paymentDeletePanel
										.findById("emp_cs_code").getValue(),
								employeeName : paymentDeletePanel
										.findById("employeeName").getValue(),
								period : paymentDeletePanel.findById("period")
										.getValue(),
								pay_class_id : payItemCombox.getValue(),
								pay_classitem_id : payClassItemCombox
										.getValue()
							}
							payInPutStore.reload();
						}
					}
				}]

			});
	var sm = new Ext.grid.CheckboxSelectionModel();
	var cm = new Ext.grid.ColumnModel([new Ext.grid.RowNumberer(), sm, {
				dataIndex : 'pay_input_id',
				hidden : true
			}, {
				header : '期间',
				dataIndex : 'period',
				width : 80
			}, {
				header : '雇员编号',
				dataIndex : 'emp_cs_code',
				width : 80
			}, {
				header : '雇员姓名',
				dataIndex : 'employeeName',
				width : 80
			}, {
				header : '薪资模板',
				dataIndex : 'pcname'
			}, {
				header : '薪资项目',
				dataIndex : 'pciname',
				width : 100
			}, {
				header : '值',
				dataIndex : 'pay_money',
				width : 80
			}]);

	paymentDeletePanel.render(Ext.getBody());
	var paymentDeleteGrid = new Ext.grid.GridPanel({
		height : document.body.clientHeight
					- Ext.getCmp('paymentDeletePanel').getInnerHeight()
					- Ext.getCmp('paymentDeletePanel').getFrameHeight(),
		anchor : '90%',
		id : 'paymentDeleteGrid',
		tbar : [{
			text : '删除记录',
			handler : function() {
				var length = paymentDeleteGrid.getSelectionModel()
						.getSelections().length;
				if (length > 0) {
					Ext.MessageBox.show({
						title : '删除提示',
						msg : '数据即将被删除',
						buttons : Ext.MessageBox.OKCANCEL,
						fn : function(button) {
							if (button == "ok") {
								var rs = paymentDeleteGrid.getSelectionModel()
										.getSelections();
								var deletePayInput = [];
								for (var i = 0; i < length; i++) {
									deletePayInput
											.push(rs[i].data.pay_input_id);
									payInPutStore.remove(payInPutStore
											.getById(rs[i].id));
								};
								Ext.Ajax.request({
											url : 'PayInPutOp!deletePayInput.action',
											success : function() {
												payInPutStore.reload();
												Ext.Msg.show({
															title : '操作信息',
															msg : '删除成功',
															buttons : Ext.Msg.OK
														});
											},
											failure : function() {
												Ext.Msg.show({
															title : '操作信息',
															msg : '操作失败,请联系管理员',
															buttons : Ext.Msg.OK
														});
											},
											params : {
												deletelinkmanpar : Ext
														.encode(deletePayInput)
											}
										});
							}
							if (button == "cancel") {
								return;
							}
						}
					});
				} else {
					Ext.Msg.show({
								title : '操作信息',
								msg : '无法删除空的记录',
								buttons : Ext.Msg.OK
							});
				}
			}
		}],
		bbar : new Ext.PagingToolbar({
					pageSize : pageSize,
					store : payInPutStore,
					displayInfo : true,
					dispalyMsg : '显示第{0}条到{1}条记录，一共{2}条',
					emptyMsg : '没有记录'
				}),
		sm : sm,
		cm : cm,
		store : payInPutStore,
		loadMask : true,
		loadMask : {
			msg : '正在加载数据...'
		}
	});

	paymentDeleteGrid.render(Ext.getBody());
});
